package com.tedu.api.io;

import java.io.File;
import java.io.FileFilter;


/**
 * listFiles()    返回值：数组----File[]    直接遍历文件、文件夹
 * 遍历文件或者文件夹同时，过滤遍历出来的文件、文件夹
 * 需求：获取“API”项目下，名字开头以 S 名称
 * listFiles(FileFilter接口)    返回值：数组----File[]
 * FileFilter过滤器接口：过滤遍历出来的文件、文件夹
 */
public class FilterAPI {
    public static void main(String[] args) {
        //获取“API”项目下:File构造器传入“.”
        //④创建过滤器实现类
        //MyFilter myFilter=new MyFilter();
        /*FileFilter my=new FileFilter() {
            public boolean accept(File pathname) {
                String name=pathname.getName();
                System.out.println("过滤出来文件夹名字是："+name);
                return name.startsWith("s");
            }
        };*/
        /*for(int i=0;i< subs.length;i++){
            System.out.println("过滤后文件夹："+subs[i].getName());
        }*/
        //增强for循环---改成2行
        for(File f:new File("."+File.separator+"API").listFiles(pathname -> {return pathname.getName().startsWith("s");})){
            System.out.println("所有文件和文件夹名字"+f);
        }
    }
}
class MyFilter implements FileFilter{
    public boolean accept(File pathname) {
        String name=pathname.getName();
        System.out.println("获取的名称是："+name);
        return name.startsWith("s");
    }
}

